<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: irr::IrrlichtDevice Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classirr_1_1_irrlicht_device.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">irr::IrrlichtDevice Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="irr::IrrlichtDevice" --><!-- doxytag: inherits="irr::IReferenceCounted" -->
<p>The Irrlicht device. You can create it with <a class="el" href="namespaceirr.html#abaf4d8719cc26b0d30813abf85e47c76" title="Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.">createDevice()</a> or <a class="el" href="namespaceirr.html#ac83a30d674204dcb94d70f849e9b4a62" title="Creates an Irrlicht device with the option to specify advanced parameters.">createDeviceEx()</a>.  
 <a href="classirr_1_1_irrlicht_device.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_irrlicht_device_8h_source.html">IrrlichtDevice.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for irr::IrrlichtDevice:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="classirr_1_1_irrlicht_device.png" usemap="#irr::IrrlichtDevice_map" alt=""/>
  <map id="irr::IrrlichtDevice_map" name="irr::IrrlichtDevice_map">
<area href="classirr_1_1_i_reference_counted.html" title="Base class of most objects of the Irrlicht Engine." alt="irr::IReferenceCounted" shape="rect" coords="0,0,140,24"/>
</map>
 </div></div>

<p><a href="classirr_1_1_irrlicht_device-members.html">List of all members.</a></p>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li>virtual bool <a class="el" href="classirr_1_1_irrlicht_device.html#af06f8d2c4fdffd1f879e46685bcbc6e3">activateJoysticks</a> (<a class="el" href="classirr_1_1core_1_1array.html">core::array</a>&lt; <a class="el" href="structirr_1_1_s_joystick_info.html">SJoystickInfo</a> &gt; &amp;joystickInfo)=0
<dl class="el"><dd class="mdescRight">Activate any joysticks, and generate events for them.  <a href="#af06f8d2c4fdffd1f879e46685bcbc6e3"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#aa10c6151a267d8a1500d5dc7b44425dd">clearSystemMessages</a> ()=0
<dl class="el"><dd class="mdescRight">Remove messages pending in the system message loop.  <a href="#aa10c6151a267d8a1500d5dc7b44425dd"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#a08c97937e0f60f98d443b397a7c60e18">closeDevice</a> ()=0
<dl class="el"><dd class="mdescRight">Notifies the device that it should close itself.  <a href="#a08c97937e0f60f98d443b397a7c60e18"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1_i_randomizer.html">IRandomizer</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#a267b069ea2c5f5b008fd7afa5b931ee9">createDefaultRandomizer</a> () const =0
<dl class="el"><dd class="mdescRight">Creates a new default randomizer.  <a href="#a267b069ea2c5f5b008fd7afa5b931ee9"></a><br/></dl><li>virtual <a class="el" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829ed">video::ECOLOR_FORMAT</a> <a class="el" href="classirr_1_1_irrlicht_device.html#a9dccd3d7af7cfbabee46214a89bd6650">getColorFormat</a> () const =0
<dl class="el"><dd class="mdescRight">Get the current color format of the window.  <a href="#a9dccd3d7af7cfbabee46214a89bd6650"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1gui_1_1_i_cursor_control.html">gui::ICursorControl</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#a500a3b7bf69487ff7e2075dd0b0db529">getCursorControl</a> ()=0
<dl class="el"><dd class="mdescRight">Provides access to the cursor control.  <a href="#a500a3b7bf69487ff7e2075dd0b0db529"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1_i_event_receiver.html">IEventReceiver</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#a26227e20e46915942d067532c61df42b">getEventReceiver</a> ()=0
<dl class="el"><dd class="mdescRight">Provides access to the current event receiver.  <a href="#a26227e20e46915942d067532c61df42b"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1io_1_1_i_file_system.html">io::IFileSystem</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#a3d8d2dee2f57aa7e6c0d14592de3e6ed">getFileSystem</a> ()=0
<dl class="el"><dd class="mdescRight">Provides access to the virtual file system.  <a href="#a3d8d2dee2f57aa7e6c0d14592de3e6ed"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1_irrlicht_device.html#a30c4e1716271600a88e0ca07ca030f9b">getGammaRamp</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &amp;red, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &amp;green, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &amp;blue, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &amp;brightness, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &amp;contrast)=0
<dl class="el"><dd class="mdescRight">Get the current Gamma Value for the Display.  <a href="#a30c4e1716271600a88e0ca07ca030f9b"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1gui_1_1_i_g_u_i_environment.html">gui::IGUIEnvironment</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#af7491b8c5ef4f71360f30fbad90ae35c">getGUIEnvironment</a> ()=0
<dl class="el"><dd class="mdescRight">Provides access to the 2d user interface environment.  <a href="#af7491b8c5ef4f71360f30fbad90ae35c"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1_i_logger.html">ILogger</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#adec0b0b6b71b5066dd2c7039f1f4d85b">getLogger</a> ()=0
<dl class="el"><dd class="mdescRight">Provides access to the message logger.  <a href="#adec0b0b6b71b5066dd2c7039f1f4d85b"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1_i_o_s_operator.html">IOSOperator</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#a3833250e8b0d7a94cd34b1e1809033ac">getOSOperator</a> ()=0
<dl class="el"><dd class="mdescRight">Provides access to the operation system operator object.  <a href="#a3833250e8b0d7a94cd34b1e1809033ac"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1_i_randomizer.html">IRandomizer</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#aaba0cb18cac48e381d841ad763c7ea8b">getRandomizer</a> () const =0
<dl class="el"><dd class="mdescRight">Provides access to the engine's currently set randomizer.  <a href="#aaba0cb18cac48e381d841ad763c7ea8b"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html">scene::ISceneManager</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#a891b503ff4d5041296d88f23f97d7b3d">getSceneManager</a> ()=0
<dl class="el"><dd class="mdescRight">Provides access to the scene manager.  <a href="#a891b503ff4d5041296d88f23f97d7b3d"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1_i_timer.html">ITimer</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#a96c30fb7f644e1d1dabff563bde26460">getTimer</a> ()=0
<dl class="el"><dd class="mdescRight">Provides access to the engine's timer.  <a href="#a96c30fb7f644e1d1dabff563bde26460"></a><br/></dl><li>virtual <a class="el" href="namespaceirr.html#ac25d94cf2e1037c7ca18ee79b3bd4505">E_DEVICE_TYPE</a> <a class="el" href="classirr_1_1_irrlicht_device.html#a2a2ec439b1f153169003c4d3e986a7d7">getType</a> () const =0
<dl class="el"><dd class="mdescRight">Get the type of the device.  <a href="#a2a2ec439b1f153169003c4d3e986a7d7"></a><br/></dl><li>virtual const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#a4eb5bc1b15f552ce2c37d792231392f7">getVersion</a> () const =0
<dl class="el"><dd class="mdescRight">Get the version of the engine.  <a href="#a4eb5bc1b15f552ce2c37d792231392f7"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1video_1_1_i_video_driver.html">video::IVideoDriver</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#ada90707ba5c645d47e000e4e0f87c4c4">getVideoDriver</a> ()=0
<dl class="el"><dd class="mdescRight">Provides access to the video driver for drawing 3d and 2d geometry.  <a href="#ada90707ba5c645d47e000e4e0f87c4c4"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1video_1_1_i_video_mode_list.html">video::IVideoModeList</a> * <a class="el" href="classirr_1_1_irrlicht_device.html#a8872867a5ad728a4673679e9e8f469e7">getVideoModeList</a> ()=0
<dl class="el"><dd class="mdescRight">Gets a list with all video modes available.  <a href="#a8872867a5ad728a4673679e9e8f469e7"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1_irrlicht_device.html#a409df5e9b9b90635bd3c2db31978a5c1">isFullscreen</a> () const =0
<dl class="el"><dd class="mdescRight">Checks if the Irrlicht window is running in fullscreen mode.  <a href="#a409df5e9b9b90635bd3c2db31978a5c1"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1_irrlicht_device.html#abd3c88336b739da2694883d5ffd25a70">isWindowActive</a> () const =0
<dl class="el"><dd class="mdescRight">Returns if the window is active.  <a href="#abd3c88336b739da2694883d5ffd25a70"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1_irrlicht_device.html#a960069dc52b4f1303d18945dcbad7f3a">isWindowFocused</a> () const =0
<dl class="el"><dd class="mdescRight">Checks if the Irrlicht window has focus.  <a href="#a960069dc52b4f1303d18945dcbad7f3a"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1_irrlicht_device.html#a69e96b9c49c65391e406377a92e795b1">isWindowMinimized</a> () const =0
<dl class="el"><dd class="mdescRight">Checks if the Irrlicht window is minimized.  <a href="#a69e96b9c49c65391e406377a92e795b1"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#a24cb8ac97c16114ff7df1f0ec604a219">maximizeWindow</a> ()=0
<dl class="el"><dd class="mdescRight">Maximizes the window if possible.  <a href="#a24cb8ac97c16114ff7df1f0ec604a219"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#a23e31ff31f564d5e715edc901e519311">minimizeWindow</a> ()=0
<dl class="el"><dd class="mdescRight">Minimizes the window if possible.  <a href="#a23e31ff31f564d5e715edc901e519311"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1_irrlicht_device.html#abf859e39f017b0403c6ed331e48e01df">postEventFromUser</a> (const <a class="el" href="structirr_1_1_s_event.html">SEvent</a> &amp;event)=0
<dl class="el"><dd class="mdescRight">Sends a user created event to the engine.  <a href="#abf859e39f017b0403c6ed331e48e01df"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#a4a92974b424cc612198505e31fe125d3">restoreWindow</a> ()=0
<dl class="el"><dd class="mdescRight">Restore the window to normal size if possible.  <a href="#a4a92974b424cc612198505e31fe125d3"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1_irrlicht_device.html#a0489f8151dc43f6f41503ffb5a160b35">run</a> ()=0
<dl class="el"><dd class="mdescRight">Runs the device.  <a href="#a0489f8151dc43f6f41503ffb5a160b35"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#abf71a5ed6bb6b287e769f699010cedf0">setEventReceiver</a> (<a class="el" href="classirr_1_1_i_event_receiver.html">IEventReceiver</a> *receiver)=0
<dl class="el"><dd class="mdescRight">Sets a new user event receiver which will receive events from the engine.  <a href="#abf71a5ed6bb6b287e769f699010cedf0"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1_irrlicht_device.html#aaa6cec87ca0a18ec369ea12f7fbd490c">setGammaRamp</a> (<a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> red, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> green, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> blue, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> relativebrightness, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> relativecontrast)=0
<dl class="el"><dd class="mdescRight">Set the current Gamma Value for the Display.  <a href="#aaa6cec87ca0a18ec369ea12f7fbd490c"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#a22ab84f23050dbef122f16a33aa9b91d">setInputReceivingSceneManager</a> (<a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html">scene::ISceneManager</a> *sceneManager)=0
<dl class="el"><dd class="mdescRight">Sets the input receiving scene manager.  <a href="#a22ab84f23050dbef122f16a33aa9b91d"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#af996a8a8031dacd823e3c65ee3ed2c33">setRandomizer</a> (<a class="el" href="classirr_1_1_i_randomizer.html">IRandomizer</a> *r)=0
<dl class="el"><dd class="mdescRight">Sets a new randomizer.  <a href="#af996a8a8031dacd823e3c65ee3ed2c33"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#a4911502bd085d2d87474ff12959bc341">setResizable</a> (bool resize=false)=0
<dl class="el"><dd class="mdescRight">Sets if the window should be resizable in windowed mode.  <a href="#a4911502bd085d2d87474ff12959bc341"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#a3d7c98d520bf18ce1973c6f1439a7c0f">setWindowCaption</a> (const wchar_t *text)=0
<dl class="el"><dd class="mdescRight">Sets the caption of the window.  <a href="#a3d7c98d520bf18ce1973c6f1439a7c0f"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#a89a3ecebc0e7c5ae08617b78a6e8a9f7">sleep</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> timeMs, bool pauseTimer=false)=0
<dl class="el"><dd class="mdescRight">Pause execution and let other processes to run for a specified amount of time.  <a href="#a89a3ecebc0e7c5ae08617b78a6e8a9f7"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1_irrlicht_device.html#a731727774fad9fc4c6c1c85277ca36dc">yield</a> ()=0
<dl class="el"><dd class="mdescRight">Cause the device to temporarily pause execution and let other processes run.  <a href="#a731727774fad9fc4c6c1c85277ca36dc"></a><br/></dl></ul>
<h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2>
<ul>
<li>static bool <a class="el" href="classirr_1_1_irrlicht_device.html#a5a74995aec731b26c6a9cb5bea6842fe">isDriverSupported</a> (<a class="el" href="namespaceirr_1_1video.html#ae35a6de6d436c76107ad157fe42356d0">video::E_DRIVER_TYPE</a> driver)
<dl class="el"><dd class="mdescRight">Check if a driver type is supported by the engine.  <a href="#a5a74995aec731b26c6a9cb5bea6842fe"></a><br/></dl></ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The Irrlicht device. You can create it with <a class="el" href="namespaceirr.html#abaf4d8719cc26b0d30813abf85e47c76" title="Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.">createDevice()</a> or <a class="el" href="namespaceirr.html#ac83a30d674204dcb94d70f849e9b4a62" title="Creates an Irrlicht device with the option to specify advanced parameters.">createDeviceEx()</a>. </p>
<p>This is the most important class of the Irrlicht Engine. You can access everything in the engine if you have a pointer to an instance of this class. There should be only one instance of this class at any time. </p>

<p>Definition at line <a class="el" href="_irrlicht_device_8h_source.html#l00043">43</a> of file <a class="el" href="_irrlicht_device_8h_source.html">IrrlichtDevice.h</a>.</p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="af06f8d2c4fdffd1f879e46685bcbc6e3"></a><!-- doxytag: member="irr::IrrlichtDevice::activateJoysticks" ref="af06f8d2c4fdffd1f879e46685bcbc6e3" args="(core::array&lt; SJoystickInfo &gt; &amp;joystickInfo)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::IrrlichtDevice::activateJoysticks </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1array.html">core::array</a>&lt; <a class="el" href="structirr_1_1_s_joystick_info.html">SJoystickInfo</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>joystickInfo</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Activate any joysticks, and generate events for them. </p>
<p>Irrlicht contains support for joysticks, but does not generate joystick events by default, as this would consume joystick info that 3rd party libraries might rely on. Call this method to activate joystick support in Irrlicht and to receive irr::SJoystickEvent events. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">joystickInfo</td><td>On return, this will contain an array of each joystick that was found and activated. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if joysticks are supported on this device and _IRR_COMPILE_WITH_JOYSTICK_EVENTS_ is defined, false if joysticks are not supported or support is compiled out. </dd></dl>

</div>
</div>
<a class="anchor" id="aa10c6151a267d8a1500d5dc7b44425dd"></a><!-- doxytag: member="irr::IrrlichtDevice::clearSystemMessages" ref="aa10c6151a267d8a1500d5dc7b44425dd" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::clearSystemMessages </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove messages pending in the system message loop. </p>
<p>This function is usually used after messages have been buffered for a longer time, for example when loading a large scene. Clearing the message loop prevents that mouse- or buttonclicks which users have pressed in the meantime will now trigger unexpected actions in the gui. <br/>
 So far the following messages are cleared:<br/>
 Win32: All keyboard and mouse messages<br/>
 Linux: All keyboard and mouse messages<br/>
 All other devices are not yet supported here.<br/>
 The function is still somewhat experimental, as the kind of messages we clear is based on just a few use-cases. If you think further messages should be cleared, or some messages should not be cleared here, then please tell us. </p>

</div>
</div>
<a class="anchor" id="a08c97937e0f60f98d443b397a7c60e18"></a><!-- doxytag: member="irr::IrrlichtDevice::closeDevice" ref="a08c97937e0f60f98d443b397a7c60e18" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::closeDevice </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Notifies the device that it should close itself. </p>
<p><a class="el" href="classirr_1_1_irrlicht_device.html#a0489f8151dc43f6f41503ffb5a160b35" title="Runs the device.">IrrlichtDevice::run()</a> will always return false after <a class="el" href="classirr_1_1_irrlicht_device.html#a08c97937e0f60f98d443b397a7c60e18" title="Notifies the device that it should close itself.">closeDevice()</a> was called. </p>

</div>
</div>
<a class="anchor" id="a267b069ea2c5f5b008fd7afa5b931ee9"></a><!-- doxytag: member="irr::IrrlichtDevice::createDefaultRandomizer" ref="a267b069ea2c5f5b008fd7afa5b931ee9" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1_i_randomizer.html">IRandomizer</a>* irr::IrrlichtDevice::createDefaultRandomizer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new default randomizer. </p>
<p>The default randomizer provides the random sequence known from previous Irrlicht versions and is the initial randomizer set on device creation. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the default <a class="el" href="classirr_1_1_i_randomizer.html" title="Interface for generating random numbers.">IRandomizer</a> object. </dd></dl>

</div>
</div>
<a class="anchor" id="a9dccd3d7af7cfbabee46214a89bd6650"></a><!-- doxytag: member="irr::IrrlichtDevice::getColorFormat" ref="a9dccd3d7af7cfbabee46214a89bd6650" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829ed">video::ECOLOR_FORMAT</a> irr::IrrlichtDevice::getColorFormat </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current color format of the window. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Color format of the window. </dd></dl>

</div>
</div>
<a class="anchor" id="a500a3b7bf69487ff7e2075dd0b0db529"></a><!-- doxytag: member="irr::IrrlichtDevice::getCursorControl" ref="a500a3b7bf69487ff7e2075dd0b0db529" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1gui_1_1_i_cursor_control.html">gui::ICursorControl</a>* irr::IrrlichtDevice::getCursorControl </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the cursor control. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the mouse cursor control interface. </dd></dl>

</div>
</div>
<a class="anchor" id="a26227e20e46915942d067532c61df42b"></a><!-- doxytag: member="irr::IrrlichtDevice::getEventReceiver" ref="a26227e20e46915942d067532c61df42b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1_i_event_receiver.html">IEventReceiver</a>* irr::IrrlichtDevice::getEventReceiver </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the current event receiver. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the current event receiver. Returns 0 if there is none. </dd></dl>

</div>
</div>
<a class="anchor" id="a3d8d2dee2f57aa7e6c0d14592de3e6ed"></a><!-- doxytag: member="irr::IrrlichtDevice::getFileSystem" ref="a3d8d2dee2f57aa7e6c0d14592de3e6ed" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1io_1_1_i_file_system.html">io::IFileSystem</a>* irr::IrrlichtDevice::getFileSystem </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the virtual file system. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the file system. </dd></dl>

</div>
</div>
<a class="anchor" id="a30c4e1716271600a88e0ca07ca030f9b"></a><!-- doxytag: member="irr::IrrlichtDevice::getGammaRamp" ref="a30c4e1716271600a88e0ca07ca030f9b" args="(f32 &amp;red, f32 &amp;green, f32 &amp;blue, f32 &amp;brightness, f32 &amp;contrast)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::IrrlichtDevice::getGammaRamp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &amp;&#160;</td>
          <td class="paramname"><em>red</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &amp;&#160;</td>
          <td class="paramname"><em>green</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &amp;&#160;</td>
          <td class="paramname"><em>blue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &amp;&#160;</td>
          <td class="paramname"><em>brightness</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> &amp;&#160;</td>
          <td class="paramname"><em>contrast</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current Gamma Value for the Display. </p>

</div>
</div>
<a class="anchor" id="af7491b8c5ef4f71360f30fbad90ae35c"></a><!-- doxytag: member="irr::IrrlichtDevice::getGUIEnvironment" ref="af7491b8c5ef4f71360f30fbad90ae35c" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1gui_1_1_i_g_u_i_environment.html">gui::IGUIEnvironment</a>* irr::IrrlichtDevice::getGUIEnvironment </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the 2d user interface environment. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the gui environment. </dd></dl>

</div>
</div>
<a class="anchor" id="adec0b0b6b71b5066dd2c7039f1f4d85b"></a><!-- doxytag: member="irr::IrrlichtDevice::getLogger" ref="adec0b0b6b71b5066dd2c7039f1f4d85b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1_i_logger.html">ILogger</a>* irr::IrrlichtDevice::getLogger </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the message logger. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the logger. </dd></dl>

</div>
</div>
<a class="anchor" id="a3833250e8b0d7a94cd34b1e1809033ac"></a><!-- doxytag: member="irr::IrrlichtDevice::getOSOperator" ref="a3833250e8b0d7a94cd34b1e1809033ac" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1_i_o_s_operator.html">IOSOperator</a>* irr::IrrlichtDevice::getOSOperator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the operation system operator object. </p>
<p>The OS operator provides methods for getting system specific informations and doing system specific operations, such as exchanging data with the clipboard or reading the operation system version. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the OS operator. </dd></dl>

</div>
</div>
<a class="anchor" id="aaba0cb18cac48e381d841ad763c7ea8b"></a><!-- doxytag: member="irr::IrrlichtDevice::getRandomizer" ref="aaba0cb18cac48e381d841ad763c7ea8b" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1_i_randomizer.html">IRandomizer</a>* irr::IrrlichtDevice::getRandomizer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the engine's currently set randomizer. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the <a class="el" href="classirr_1_1_i_randomizer.html" title="Interface for generating random numbers.">IRandomizer</a> object. </dd></dl>

</div>
</div>
<a class="anchor" id="a891b503ff4d5041296d88f23f97d7b3d"></a><!-- doxytag: member="irr::IrrlichtDevice::getSceneManager" ref="a891b503ff4d5041296d88f23f97d7b3d" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html">scene::ISceneManager</a>* irr::IrrlichtDevice::getSceneManager </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the scene manager. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the scene manager. </dd></dl>

</div>
</div>
<a class="anchor" id="a96c30fb7f644e1d1dabff563bde26460"></a><!-- doxytag: member="irr::IrrlichtDevice::getTimer" ref="a96c30fb7f644e1d1dabff563bde26460" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1_i_timer.html">ITimer</a>* irr::IrrlichtDevice::getTimer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the engine's timer. </p>
<p>The system time can be retrieved by it as well as the virtual time, which also can be manipulated. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the <a class="el" href="classirr_1_1_i_timer.html" title="Interface for getting and manipulating the virtual time.">ITimer</a> object. </dd></dl>

</div>
</div>
<a class="anchor" id="a2a2ec439b1f153169003c4d3e986a7d7"></a><!-- doxytag: member="irr::IrrlichtDevice::getType" ref="a2a2ec439b1f153169003c4d3e986a7d7" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr.html#ac25d94cf2e1037c7ca18ee79b3bd4505">E_DEVICE_TYPE</a> irr::IrrlichtDevice::getType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the type of the device. </p>
<p>This allows the user to check which windowing system is currently being used. </p>

</div>
</div>
<a class="anchor" id="a4eb5bc1b15f552ce2c37d792231392f7"></a><!-- doxytag: member="irr::IrrlichtDevice::getVersion" ref="a4eb5bc1b15f552ce2c37d792231392f7" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a>* irr::IrrlichtDevice::getVersion </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the version of the engine. </p>
<p>The returned string will look like this: "1.2.3" or this: "1.2". </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>String which contains the version. </dd></dl>

</div>
</div>
<a class="anchor" id="ada90707ba5c645d47e000e4e0f87c4c4"></a><!-- doxytag: member="irr::IrrlichtDevice::getVideoDriver" ref="ada90707ba5c645d47e000e4e0f87c4c4" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1video_1_1_i_video_driver.html">video::IVideoDriver</a>* irr::IrrlichtDevice::getVideoDriver </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provides access to the video driver for drawing 3d and 2d geometry. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer the video driver. </dd></dl>

</div>
</div>
<a class="anchor" id="a8872867a5ad728a4673679e9e8f469e7"></a><!-- doxytag: member="irr::IrrlichtDevice::getVideoModeList" ref="a8872867a5ad728a4673679e9e8f469e7" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1video_1_1_i_video_mode_list.html">video::IVideoModeList</a>* irr::IrrlichtDevice::getVideoModeList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a list with all video modes available. </p>
<p>If you are confused now, because you think you have to create an Irrlicht Device with a video mode before being able to get the video mode list, let me tell you that there is no need to start up an Irrlicht Device with EDT_DIRECT3D8, EDT_OPENGL or EDT_SOFTWARE: For this (and for lots of other reasons) the null driver, EDT_NULL exists. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to a list with all video modes supported by the gfx adapter. </dd></dl>

</div>
</div>
<a class="anchor" id="a5a74995aec731b26c6a9cb5bea6842fe"></a><!-- doxytag: member="irr::IrrlichtDevice::isDriverSupported" ref="a5a74995aec731b26c6a9cb5bea6842fe" args="(video::E_DRIVER_TYPE driver)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool irr::IrrlichtDevice::isDriverSupported </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr_1_1video.html#ae35a6de6d436c76107ad157fe42356d0">video::E_DRIVER_TYPE</a>&#160;</td>
          <td class="paramname"><em>driver</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if a driver type is supported by the engine. </p>
<p>Even if true is returned the driver may not be available for a configuration requested when creating the device. </p>

<p>Definition at line <a class="el" href="_irrlicht_device_8h_source.html#l00277">277</a> of file <a class="el" href="_irrlicht_device_8h_source.html">IrrlichtDevice.h</a>.</p>

<p>References <a class="el" href="_e_driver_types_8h_source.html#l00038">irr::video::EDT_BURNINGSVIDEO</a>, <a class="el" href="_e_driver_types_8h_source.html#l00043">irr::video::EDT_DIRECT3D8</a>, <a class="el" href="_e_driver_types_8h_source.html#l00048">irr::video::EDT_DIRECT3D9</a>, <a class="el" href="_e_driver_types_8h_source.html#l00019">irr::video::EDT_NULL</a>, <a class="el" href="_e_driver_types_8h_source.html#l00053">irr::video::EDT_OPENGL</a>, and <a class="el" href="_e_driver_types_8h_source.html#l00026">irr::video::EDT_SOFTWARE</a>.</p>

</div>
</div>
<a class="anchor" id="a409df5e9b9b90635bd3c2db31978a5c1"></a><!-- doxytag: member="irr::IrrlichtDevice::isFullscreen" ref="a409df5e9b9b90635bd3c2db31978a5c1" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::IrrlichtDevice::isFullscreen </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks if the Irrlicht window is running in fullscreen mode. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if window is fullscreen. </dd></dl>

</div>
</div>
<a class="anchor" id="abd3c88336b739da2694883d5ffd25a70"></a><!-- doxytag: member="irr::IrrlichtDevice::isWindowActive" ref="abd3c88336b739da2694883d5ffd25a70" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::IrrlichtDevice::isWindowActive </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns if the window is active. </p>
<p>If the window is inactive, nothing needs to be drawn. So if you don't want to draw anything when the window is inactive, create your drawing loop this way: </p>
<div class="fragment"><pre class="fragment">        <span class="keywordflow">while</span>(device-&gt;run())
        {
            <span class="keywordflow">if</span> (device-&gt;isWindowActive())
            {
                <span class="comment">// draw everything here</span>
            }
            <span class="keywordflow">else</span>
                device-&gt;yield();
        }
</pre></div> <dl class="return"><dt><b>Returns:</b></dt><dd>True if window is active. </dd></dl>

</div>
</div>
<a class="anchor" id="a960069dc52b4f1303d18945dcbad7f3a"></a><!-- doxytag: member="irr::IrrlichtDevice::isWindowFocused" ref="a960069dc52b4f1303d18945dcbad7f3a" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::IrrlichtDevice::isWindowFocused </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks if the Irrlicht window has focus. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if window has focus. </dd></dl>

</div>
</div>
<a class="anchor" id="a69e96b9c49c65391e406377a92e795b1"></a><!-- doxytag: member="irr::IrrlichtDevice::isWindowMinimized" ref="a69e96b9c49c65391e406377a92e795b1" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::IrrlichtDevice::isWindowMinimized </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks if the Irrlicht window is minimized. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if window is minimized. </dd></dl>

</div>
</div>
<a class="anchor" id="a24cb8ac97c16114ff7df1f0ec604a219"></a><!-- doxytag: member="irr::IrrlichtDevice::maximizeWindow" ref="a24cb8ac97c16114ff7df1f0ec604a219" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::maximizeWindow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Maximizes the window if possible. </p>

</div>
</div>
<a class="anchor" id="a23e31ff31f564d5e715edc901e519311"></a><!-- doxytag: member="irr::IrrlichtDevice::minimizeWindow" ref="a23e31ff31f564d5e715edc901e519311" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::minimizeWindow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Minimizes the window if possible. </p>

</div>
</div>
<a class="anchor" id="abf859e39f017b0403c6ed331e48e01df"></a><!-- doxytag: member="irr::IrrlichtDevice::postEventFromUser" ref="abf859e39f017b0403c6ed331e48e01df" args="(const SEvent &amp;event)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::IrrlichtDevice::postEventFromUser </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structirr_1_1_s_event.html">SEvent</a> &amp;&#160;</td>
          <td class="paramname"><em>event</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sends a user created event to the engine. </p>
<p>Is is usually not necessary to use this. However, if you are using an own input library for example for doing joystick input, you can use this to post key or mouse input events to the engine. Internally, this method only delegates the events further to the scene manager and the GUI environment. </p>

</div>
</div>
<a class="anchor" id="a4a92974b424cc612198505e31fe125d3"></a><!-- doxytag: member="irr::IrrlichtDevice::restoreWindow" ref="a4a92974b424cc612198505e31fe125d3" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::restoreWindow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Restore the window to normal size if possible. </p>

</div>
</div>
<a class="anchor" id="a0489f8151dc43f6f41503ffb5a160b35"></a><!-- doxytag: member="irr::IrrlichtDevice::run" ref="a0489f8151dc43f6f41503ffb5a160b35" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::IrrlichtDevice::run </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Runs the device. </p>
<p>Also increments the virtual timer by calling <a class="el" href="classirr_1_1_i_timer.html#a50ee793711cace4410e1f9c9e1ce20c6" title="Advances the virtual time.">ITimer::tick()</a>;. You can prevent this by calling <a class="el" href="classirr_1_1_i_timer.html#a649e7294fafc6e6de00f9a4dc6894c16" title="Stops the virtual timer.">ITimer::stop()</a>; before and <a class="el" href="classirr_1_1_i_timer.html#a9467dc5a72de3869712715d0473c9697" title="Starts the virtual timer.">ITimer::start()</a> after calling <a class="el" href="classirr_1_1_irrlicht_device.html#a0489f8151dc43f6f41503ffb5a160b35" title="Runs the device.">IrrlichtDevice::run()</a>. Returns false if device wants to be deleted. Use it in this way: </p>
<div class="fragment"><pre class="fragment">        <span class="keywordflow">while</span>(device-&gt;run())
        {
            <span class="comment">// draw everything here</span>
        }
</pre></div><p> If you want the device to do nothing if the window is inactive (recommended), use the slightly enhanced code shown at <a class="el" href="classirr_1_1_irrlicht_device.html#abd3c88336b739da2694883d5ffd25a70" title="Returns if the window is active.">isWindowActive()</a>.</p>
<p>Note if you are running Irrlicht inside an external, custom created window: Calling Device-&gt;<a class="el" href="classirr_1_1_irrlicht_device.html#a0489f8151dc43f6f41503ffb5a160b35" title="Runs the device.">run()</a> will cause Irrlicht to dispatch windows messages internally. If you are running Irrlicht in your own custom window, you can also simply use your own message loop using GetMessage, DispatchMessage and whatever and simply don't use this method. But note that Irrlicht will not be able to fetch user input then. See <a class="el" href="structirr_1_1_s_irrlicht_creation_parameters.html#af287810d910a23f8f7db98cef87b6eae" title="Window Id.">irr::SIrrlichtCreationParameters::WindowId</a> for more informations and example code. </p>

</div>
</div>
<a class="anchor" id="abf71a5ed6bb6b287e769f699010cedf0"></a><!-- doxytag: member="irr::IrrlichtDevice::setEventReceiver" ref="abf71a5ed6bb6b287e769f699010cedf0" args="(IEventReceiver *receiver)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::setEventReceiver </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1_i_event_receiver.html">IEventReceiver</a> *&#160;</td>
          <td class="paramname"><em>receiver</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a new user event receiver which will receive events from the engine. </p>
<p>Return true in <a class="el" href="classirr_1_1_i_event_receiver.html#a571f744ceffc3b4fe8a81f529163eb97" title="Called if an event happened.">IEventReceiver::OnEvent</a> to prevent the event from continuing along the chain of event receivers. The path that an event takes through the system depends on its type. See <a class="el" href="namespaceirr.html#ac9eed96e06e85ce3c86fcbbbe9e48a0c" title="Enumeration for all event types there are.">irr::EEVENT_TYPE</a> for details. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">receiver</td><td>New receiver to be used. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aaa6cec87ca0a18ec369ea12f7fbd490c"></a><!-- doxytag: member="irr::IrrlichtDevice::setGammaRamp" ref="aaa6cec87ca0a18ec369ea12f7fbd490c" args="(f32 red, f32 green, f32 blue, f32 relativebrightness, f32 relativecontrast)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::IrrlichtDevice::setGammaRamp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
          <td class="paramname"><em>red</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
          <td class="paramname"><em>green</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
          <td class="paramname"><em>blue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
          <td class="paramname"><em>relativebrightness</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
          <td class="paramname"><em>relativecontrast</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the current Gamma Value for the Display. </p>

</div>
</div>
<a class="anchor" id="a22ab84f23050dbef122f16a33aa9b91d"></a><!-- doxytag: member="irr::IrrlichtDevice::setInputReceivingSceneManager" ref="a22ab84f23050dbef122f16a33aa9b91d" args="(scene::ISceneManager *sceneManager)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::setInputReceivingSceneManager </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html">scene::ISceneManager</a> *&#160;</td>
          <td class="paramname"><em>sceneManager</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the input receiving scene manager. </p>
<p>If set to null, the main scene manager (returned by GetSceneManager()) will receive the input </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sceneManager</td><td>New scene manager to be used. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af996a8a8031dacd823e3c65ee3ed2c33"></a><!-- doxytag: member="irr::IrrlichtDevice::setRandomizer" ref="af996a8a8031dacd823e3c65ee3ed2c33" args="(IRandomizer *r)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::setRandomizer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1_i_randomizer.html">IRandomizer</a> *&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a new randomizer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">r</td><td>Pointer to the new <a class="el" href="classirr_1_1_i_randomizer.html" title="Interface for generating random numbers.">IRandomizer</a> object. This object is <a class="el" href="classirr_1_1_i_reference_counted.html#a2b7a035532e5f409ca9482dab79185f4" title="Grabs the object. Increments the reference counter by one.">grab()</a>'ed by the engine and will be released upon the next setRandomizer call or upon device destruction. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4911502bd085d2d87474ff12959bc341"></a><!-- doxytag: member="irr::IrrlichtDevice::setResizable" ref="a4911502bd085d2d87474ff12959bc341" args="(bool resize=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::setResizable </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>resize</em> = <code>false</code></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets if the window should be resizable in windowed mode. </p>
<p>The default is false. This method only works in windowed mode. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">resize</td><td>Flag whether the window should be resizable. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3d7c98d520bf18ce1973c6f1439a7c0f"></a><!-- doxytag: member="irr::IrrlichtDevice::setWindowCaption" ref="a3d7c98d520bf18ce1973c6f1439a7c0f" args="(const wchar_t *text)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::setWindowCaption </td>
          <td>(</td>
          <td class="paramtype">const wchar_t *&#160;</td>
          <td class="paramname"><em>text</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the caption of the window. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">text,:</td><td>New text of the window caption. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a89a3ecebc0e7c5ae08617b78a6e8a9f7"></a><!-- doxytag: member="irr::IrrlichtDevice::sleep" ref="a89a3ecebc0e7c5ae08617b78a6e8a9f7" args="(u32 timeMs, bool pauseTimer=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::sleep </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
          <td class="paramname"><em>timeMs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>pauseTimer</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pause execution and let other processes to run for a specified amount of time. </p>
<p>It may not wait the full given time, as sleep may be interrupted </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">timeMs,:</td><td>Time to sleep for in milisecs. </td></tr>
    <tr><td class="paramname">pauseTimer,:</td><td>If true, pauses the device timer while sleeping </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a731727774fad9fc4c6c1c85277ca36dc"></a><!-- doxytag: member="irr::IrrlichtDevice::yield" ref="a731727774fad9fc4c6c1c85277ca36dc" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::IrrlichtDevice::yield </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cause the device to temporarily pause execution and let other processes run. </p>
<p>This should bring down processor usage without major performance loss for Irrlicht </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_irrlicht_device_8h_source.html">IrrlichtDevice.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceirr.html">irr</a>      </li>
      <li class="navelem"><a class="el" href="classirr_1_1_irrlicht_device.html">IrrlichtDevice</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Tue Jan 19 2016 16:08:49 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
